<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="./lib/vue.js"></script>
</head>

<body>
    <div id="app">
        <div>
            <button @click="push">push</button>
            <button @click="pop">pop</button>
            <button @click="shift">shift</button>
            <button @click="unshift">unshift</button>
            <button @click="splice">splice</button>
            <button @click="sort">sort</button>
            <button @click="reverse">reverse</button>
        </div>

        <ul>
            <li v-for="item in list">
                {{item.msg}}
            </li>
        </ul>

    </div>


</body>
<script>
    var vm = new Vue({
        el: '#app',
        data: {
            list: [{ id:0,msg: 8 }, { id:3,msg: 2 }, { id:4,msg: 76 }],
            addValue: { msg: 888 },
            addSplice: { msg: 'thank' },
        
        },
        methods: {
            push() {
                this.list.push(this.addValue)//末尾添加 ,往数组最后面添加一个元素，成功返回当前数组的长度
            },
            pop() {
                this.list.pop()//末尾删除,删除数组的最后一个元素，成功返回删除元素的值
            },
            shift() {
                this.list.shift()//开头删除，删除数组的第一个元素，成功返回删除元素的值

            },
            unshift() {
                this.list.unshift(this.addValue)//开头添加,往数组最前面添加一个元素，成功返回当前数组的长度
            },
            splice() {
                this.list.splice(1, 0, this.addSplice)//有三个参数，第一个是想要删除的元素的下标（必选），第二个是想要删除的个数（必选），第三个是删除后想要在原位置替换的值（可选）

            },
            sort() {
                
                this.list.sort((a,b)=>{
                return a.msg.localeCompare(b.msg);
            });    
            },
           
            reverse() {
                this.list.reverse();//将数组倒序，成功返回倒序后的数组
            }

        }
    })
</script>

</html>